<?php
/**
 * 帮助类
 * User: www.sgfoot.com
 * Date: 2018/5/10
 * Time: 14:21
 */
/**
 * 打印方法
 * @param string $str
 */
function dump($str = '')
{
    $list = func_get_args();
    ob_start();
    echo '<pre>';
    foreach ($list as $var) {
        if(is_array($var)) {
            var_dump($var);
        } else {
            print_r($var);
        }
    }
    echo '</pre>';
    $content = ob_get_contents();
    ob_end_clean();
    echo $content;
}

/**
 * 打印方法,并终止程序
 * @param $str
 */
function dd($str)
{
    dump();
    exit();
}

/**
 * 返回JSON结果
 * @param $status
 * @param $msg
 * @param null $data
 * @return string
 */
function setJson($status, $msg, $data = null)
{
    return json_encode(setResult($status, $msg, $data));
}

/**
 * 返回数组结果
 * @param $status
 * @param $msg
 * @param null $data
 * @return array
 */
function setResult($status, $msg, $data = null)
{
    $content = array(
        'status' => $status,
        'msg'    => $msg,
    );
    if (!is_null($data)) {
        $content['data'] = $data;
    }
    return $content;
}

/**
 * 断点使用
 * @param $content
 * @param $flag
 * @param $flush
 * @return bool|int
 */
function mylog($content, $flag, $flush = false)
{
   return SgLogs::write($content, $flag, $flush);
}

/**
 * 判断是否是ajax请求
 * @return bool
 */
function isAjax()
{
    if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
        return true;
    } else {
        return false;
    }
}

/**
 * 是否是GET提交的
 */
function isGet()
{
    return $_SERVER['REQUEST_METHOD'] == 'GET' ? true : false;
}

/**
 * 是否是POST提交
 * @return int
 */
function isPost()
{
    return $_SERVER['REQUEST_METHOD'] == 'POST' ? true : false;
}

/**
 * 获取get,post的元素
 * @param $field
 * @param string $default
 * @return string
 */
function input($field, $default = '')
{
    return isset($_REQUEST[$field]) ? trim($_REQUEST[$field]) : $default;
}

/**
 * 自动加载类
 * @param $class
 */
function auto_load_class($class)
{
    $act = input('act', '');
    if (!class_exists($class)) {
        if(isAjax()) exit(setJson(400, '类不存在'));else exit('类不存在');
    }
    $obj  = new $class();
    if (!method_exists($obj, $act)) {
        if(isAjax()) exit(setJson(400, '方法名不存在'));else exit('方法名不存在');
    }
    $result = call_user_func(array($obj, $act));
    if(!empty($result)) {
        if (is_array($result)) {
            exit(json_encode($result));
        } else {
            exit($result);
        }
    }
}